package cloud.maque.admin.service;

import cloud.maque.admin.domain.entity.MqMenu;
import cloud.maque.admin.domain.vo.MenuDetailVo;
import cloud.maque.admin.domain.vo.MenuVo;
import cloud.maque.framework.common.request.PaginateDataResquest;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * @author 4color
 * @description 菜单表服务层
 * @date 2023-03-17
 */
public interface MqMenuService extends IService<MqMenu> {

    /**
     * 插入一条记录
     *
     * @param mqMenu 记录对象
     * @return 是否成功
     */
    MenuDetailVo saveMenu(MenuDetailVo mqMenu);

    Boolean delete(String menuId);

    /**
     * 分页查询
     *
     * @param pageReq
     * @return
     */
    PageInfo<MqMenu> page(PaginateDataResquest<MqMenu> pageReq);

    /**
     * 返回用户的菜单
     *
     * @param userId
     * @return
     */
    List<MenuVo> getUserMenu(String userId);

    List<MenuVo> MenuTree(PaginateDataResquest<MqMenu> pageReq, String root);

    MenuDetailVo getDetail(String menuId, String tenantId);

}
